[tool.coverage.run]
branch = true
source = [ "traceloop/sdk" ]

[tool.coverage.report]
exclude_lines = [ "if TYPE_CHECKING:" ]
show_missing = true

[tool.poetry]
name = "traceloop-sdk"
version = "0.14.1"
description = "Traceloop Software Development Kit (SDK) for Python"
authors = [
  "Gal Kleinman <gal@traceloop.com>",
  "Nir Gazit <nir@traceloop.com>",
  "Tomer Friedman <tomer@traceloop.com>"
]
repository = "https://github.com/traceloop/openllmetry"
documentation = "https://traceloop.com/docs/openllmetry"
license = "Apache-2.0"
readme = "README.md"

[[tool.poetry.packages]]
include = "traceloop/sdk"

[tool.poetry.dependencies]
python = ">=3.8.1,<3.12"
opentelemetry-api = "^1.23.0"
opentelemetry-sdk = "^1.20.0"
opentelemetry-exporter-otlp-proto-http = "^1.20.0"
opentelemetry-exporter-otlp-proto-grpc = "^1.20.0"
opentelemetry-instrumentation-requests = "0.44b0"
opentelemetry-instrumentation-sqlalchemy = "0.44b0"
opentelemetry-instrumentation-urllib3 = "0.44b0"
opentelemetry-semantic-conventions-ai = "^0.0.23"
opentelemetry-instrumentation-openai = {path="../opentelemetry-instrumentation-openai", develop=true}
opentelemetry-instrumentation-anthropic = {path="../opentelemetry-instrumentation-anthropic", develop=true}
opentelemetry-instrumentation-cohere = {path="../opentelemetry-instrumentation-cohere", develop=true}
opentelemetry-instrumentation-pinecone = {path="../opentelemetry-instrumentation-pinecone", develop=true}
opentelemetry-instrumentation-qdrant = {path="../opentelemetry-instrumentation-qdrant", develop=true}
opentelemetry-instrumentation-langchain = {path="../opentelemetry-instrumentation-langchain", develop=true}
opentelemetry-instrumentation-chromadb = {path="../opentelemetry-instrumentation-chromadb", develop=true}
opentelemetry-instrumentation-transformers = {path="../opentelemetry-instrumentation-transformers", develop=true}
opentelemetry-instrumentation-llamaindex = {path="../opentelemetry-instrumentation-llamaindex", develop=true}
opentelemetry-instrumentation-haystack = {path="../opentelemetry-instrumentation-haystack", develop=true}
opentelemetry-instrumentation-bedrock = {path="../opentelemetry-instrumentation-bedrock", develop=true}
opentelemetry-instrumentation-replicate = {path="../opentelemetry-instrumentation-replicate", develop=true}
opentelemetry-instrumentation-vertexai = {path="../opentelemetry-instrumentation-vertexai", develop=true}
opentelemetry-instrumentation-watsonx = {path="../opentelemetry-instrumentation-watsonx", develop=true}
opentelemetry-instrumentation-weaviate = {path="../opentelemetry-instrumentation-weaviate", develop=true}
colorama = "^0.4.6"
tenacity = "^8.2.3"
pydantic = ">=1"
jinja2 = "^3.1.2"
deprecated = "^1.2.14"
posthog = "^3.0.2"

[tool.poetry.group.dev.dependencies]
autopep8 = "2.0.4"
flake8 = "7.0.0"
pytest = "8.1.0"
pytest-sugar = "1.0.0"

[tool.poetry.group.test.dependencies]
openai = "^1.7.1"
vcrpy = "^6.0.1"
pytest-recording = "^0.13.1"
pydantic = "<2"
pytest-asyncio = "^0.23.5"

[build-system]
requires = [ "poetry-core" ]
build-backend = "poetry.core.masonry.api"
